﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoDatos.DAO;
using AccesoDatos.IDAO;
using Entidades;
using log4net;

namespace CapaDeGestion
{
    public class GestionHistorialEvento : IGestionHistorialEvento
    {
        protected static readonly ILog log = LogManager.GetLogger(typeof(GestionHistorialEvento));
        private IDaoHistorialEvento daoHE = new DaoHistorialEvento();

        public void Insertar(HistorialEvento a)
        {
            daoHE.Insertar(a);
        }

        public void Modificar(HistorialEvento a)
        {
            daoHE.Modificar(a);
        }

        public void Eliminar(int a)
        {
            daoHE.EliminarPorId(a);
        }
        public IList<HistorialEvento> SeleccionarTodos()
        {
            IList<HistorialEvento> listaHisEve = daoHE.SeleccionarTodos();
            return listaHisEve;

        }

 

        public IList<HistorialEvento> historialActual(int idEvento, int idParticipante)
        {
            try
            {
                IList<HistorialEvento> historiales = daoHE.BuscarHistorialActual(idEvento, idParticipante);
                log4net.Config.XmlConfigurator.Configure();
                log.Warn("Operacion Historial actual realizada con exito");
                return historiales;
            }
            catch (Exception excepcionDao)
            {
                log.Error("Error al retornar Historial actual");
                log.Error(excepcionDao.Message);
                throw excepcionDao;
            }

        }
        public HistorialEvento SeleccionarPorId(int id)
        {
            try
            {
                HistorialEvento hist = daoHE.SeleccionarPorId(id);
                log4net.Config.XmlConfigurator.Configure();
                log.Warn("Operacion seleccionar Historial de Evento por id realizada con exito");
                return hist;
            }
            catch (Exception excepcionDao)
            {
                log.Error("Error al retornar Historial de Evento por id");
                log.Error(excepcionDao.Message);
                throw excepcionDao;
            }

        }

        
    }

}
